package com.punch.course.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * StudentCourseSchedule-学生上课课表
 *
 * @author xiaol
 * @version 1.0.0
 * @since 2020/7/18 10:00
 */
@Data
@Accessors(chain = true)
@TableName("student_course_schedule")
public class StudentCourseSchedule {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;


    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;


    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;


    /**
     * 课程id
     */
    @TableField("course_id")
    private Long courseId;
    /**
     * '课程名称'
     */
    @TableField("course_name")
    private String courseName;

    /**
     * 班级id
     */
    @TableField("class_id")
    private Long classId;

    /**
     * 授课老师id
     */
    @TableField("teacher_id")
    private Long teacherId;

    /**
     * 学生id
     */
    @TableField("student_id")
    private Long studentId;

    /**
     * 学校id
     */
    @TableField("school_id")
    private Long schoolId;


    /**
     * 学校名称
     */
    @TableField("school_name")
    private String schoolName;


    /**
     * 上课教室名称
     */
    @TableField("class_room_name")
    private String classRoomName;


    /**
     * 上课日期
     */
    @TableField("class_date")
    private LocalDate classDate;


    /**
     * 上课时间：几点到几点 如08:30~9:30
     */
    @TableField("class_time")
    private String classTime;


    /**
     * 签到状态 0-初始 1-已到 2-请假 3-缺勤
     */
    @TableField("status")
    private Integer status;
    /**
     * 学生姓名
     */
    @TableField("student_name")
    private String studentName;

    /**
     * 性别 0女  1男
     */
    @TableField("student_sex")
    private Integer studentSex;

    /**
     * 年级名称
     */
    @TableField("student_grade")
    private String studentGrade;

    /**
     * 班级名称
     */
    @TableField("student_class")
    private String studentClass;

    /**
     * 家长手机号码
     */
    @TableField("guardian_mobile")
    private String guardianMobile;

    /**
     * 0正常，1删除
     */
    @JSONField(serialize = false)
    private Integer delFlag;

}
